package com.chzu.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.chzu.pojo.SysPermission;
import com.chzu.pojo.SysRole;
import com.chzu.pojo.SysRole;
import com.chzu.result.JsonResult;
import com.github.pagehelper.Page;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * @Author lz
 * @Version 1.0
 * @Company 滁州大健康与养老产业研究院
 * @ClassName SysRole
 * @Description TODO
 * @Date 2022/01/27 15:01
 */
public interface SysRoleMapper extends BaseMapper<SysRole> {

    /**
     *  添加菜单信息
     * @param role 菜单类
     */
    void insertRole(SysRole role);

    /**
     *  更新菜单信息
     * @param role 菜单类
     */
    void updateRole(SysRole role);

    /**
     *  删除菜单信息
     * @param id 菜单id
     */
    void deleteRole(@Param("id") Integer id);

    /**
     *  查询菜单信息
     * @param queryString
     */
    Page<SysRole> findRole(@Param("queryString") String queryString);

    /**
     * 根据角色id查询角色信息
     * @param id
     * @return
     */
    List<SysRole> findById(Integer id);

    /**
     * 添加角色的权限信息
     * @param roleId 角色id
     * @param permissionId 权限id
     */
    void insertPermission(@Param("roleId") Integer roleId, @Param("permissionId") Integer permissionId);

    /**
     * 添加菜单的权限信息
     * @param roleId 角色id
     * @param menuId 菜单id
     */
    void insertMenus(@Param("roleId") Integer roleId, @Param("menuId") Integer menuId);

    /**
     *  根据角色名称查询是否存在角色信息
     * @param label
     * @return
     */
    SysRole findByLabel(String label);


    /**
     * 查询所有用户信息
     * @return 用户信息
     */
    List<SysRole> findAllRoles();

}
